docs: Add GtkOverlay to the widget gallery
authorMatthias Clasen <mclasen@redhat.com>
Tue, 27 Oct 2020 04:42:38 +0000 (00:42 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 27 Oct 2020 04:42:38 +0000 (00:42 -0400)
docs/reference/gtk/images/overlay.png [new file with mode: 0644]
docs/reference/gtk/meson.build
docs/reference/gtk/visual_index.xml
docs/tools/widgets.c

diff --git a/docs/reference/gtk/images/overlay.png b/docs/reference/gtk/images/overlay.png
new file mode 100644 (file)
index 0000000..e61605a
Binary files /dev/null and b/docs/reference/gtk/images/overlay.png differ
index 6ae52d356ac2ad67516644635a83789589115288..75f4b8fb67fc8c391b983c7cca93b25a3453fef9 100644 (file)
@@ -338,6 +338,7 @@ images = [
   'images/multiline-text.png',
   'images/notebook.png',
   'images/options.png',
+  'images/overlay.png',
   'images/pagesetupdialog.png',
   'images/panes.png',
   'images/password-entry.png',
index e1c8883c324be499e86089400f2c52cb6981f0db..46efd6a343a5995690a76062affdb3ad0d1460e0 100644 (file)
@@ -82,6 +82,7 @@
     <link linkend="GtkFlowBox"><inlinegraphic fileref="flow-box.png" format="PNG"></inlinegraphic></link>
     <link linkend="GtkTreeView"><inlinegraphic fileref="list-and-tree.png" format="PNG"></inlinegraphic></link>
     <link linkend="GtkIconView"><inlinegraphic fileref="icon-view.png" format="PNG"></inlinegraphic></link>
+    <link linkend="GtkOverlay"><inlinegraphic fileref="overlay.png" format="PNG"></inlinegraphic></link>
     <link linkend="GtkStack"><inlinegraphic fileref="stack.png" format="PNG"></inlinegraphic></link>
     <link linkend="GtkStackSwitcher"><inlinegraphic fileref="stackswitcher.png" format="PNG"></inlinegraphic></link>
     <link linkend="GtkStackSidebar"><inlinegraphic fileref="sidebar.png" format="PNG"></inlinegraphic></link>
index 6dedd9036a6d8b599041fc76c6c738b0aaa1822d..51889d8e9607a46232d6d1e24695f9a498b01fca 100644 (file)
@@ -2072,6 +2072,45 @@ create_grid (void)
   return new_widget_info ("grid", vbox, MEDIUM);
 }
 
+static WidgetInfo *
+create_overlay (void)
+{
+  GtkWidget *vbox;
+  WidgetInfo *info;
+  GtkWidget *widget;
+  GtkWidget *overlay;
+  GtkWidget *label;
+  GtkWidget *child;
+
+  widget = gtk_frame_new (NULL);
+  overlay = gtk_overlay_new ();
+  gtk_widget_add_css_class (widget, "view");
+  label = gtk_label_new ("Content");
+  gtk_widget_set_vexpand (label, TRUE);
+  gtk_frame_set_child (GTK_FRAME (widget), overlay);
+  gtk_overlay_set_child (GTK_OVERLAY (overlay), label);
+
+  child = gtk_frame_new (NULL);
+  gtk_widget_add_css_class (child, "app-notification");
+  gtk_frame_set_child (GTK_FRAME (child), gtk_label_new ("Overlay"));
+  gtk_widget_set_valign (child, GTK_ALIGN_START);
+  gtk_widget_set_halign (child, GTK_ALIGN_CENTER);
+  gtk_overlay_add_overlay (GTK_OVERLAY (overlay), child);
+
+  vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+  gtk_widget_set_halign (widget, GTK_ALIGN_FILL);
+  gtk_widget_set_valign (widget, GTK_ALIGN_FILL);
+
+  gtk_box_append (GTK_BOX (vbox), widget);
+  gtk_box_append (GTK_BOX (vbox), gtk_label_new ("Overlay"));
+
+  add_margin (vbox);
+
+  info = new_widget_info ("overlay", vbox, MEDIUM);
+
+  return info;
+}
+
 GList *
 get_all_widgets (void)
 {
@@ -2161,6 +2200,7 @@ get_all_widgets (void)
   retval = g_list_prepend (retval, create_box ());
   retval = g_list_prepend (retval, create_center_box ());
   retval = g_list_prepend (retval, create_grid ());
+  retval = g_list_prepend (retval, create_overlay ());
 
   return retval;
 }